package com.yaorange.module.system.service;

import com.yaorange.module.vo.SysUserPageVo;
import com.yaorange.pojo.SysUser;
import com.yaorange.response.PageResult;

import java.util.List;

/**
 * @author 15332
 * @version 1.0
 * @date 2025/6/16 17:12
 * @description 用户实体业务层接口
 */
public interface SysUserService {


  /**
   * 分页条件查询
   * @param userPageVo
   * @return
   */
  PageResult<SysUser> queryByCondition(SysUserPageVo userPageVo);

  /**
   * 根据ID查询
   * @param id
   * @return
   */
  SysUser selectById(Long id);

  /**
   * 新增
   * @param user
   */
  void insert(SysUser user);

  /**
   * 修改
   * @param id
   * @param user
   */
  void update(SysUser user);

  /**
   * 删除
   * @param id
   */
  void delete(Long id);

  /**
   * 为用户赋予角色
   * @param id
   * @param roleId
   */
  void grant(Long id, List<Long> roleId);
  /**
   * 根据用户ID显示角色信息
   */
  List<Long> select(Long id);

  /**
   * 根据用户名查询用户
   */
  SysUser getUserByName(String username);
}
